package br.com.projetosivan.controller;

import java.io.IOException;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import br.com.projetosivan.model.Carrinho;
import br.com.projetosivan.model.Produto;

@SessionScoped
@ManagedBean
public class CarrinhoController{
	
	private Produto produto;
	private Carrinho carrinho;
	
	public CarrinhoController(){
		carrinho = new Carrinho();
	}
	
	public void novoProduto(){
		this.produto = new Produto();
	}
	
	public Produto getProduto(){
		return produto;
	}
	
	public void setProduto(Produto produto){
		this.produto = produto;
		System.out.println("PRODUTO");
	}

	public Carrinho getCarrinho() {
		return carrinho;
	}

	public void setCarrinho(Carrinho carrinho) {
		this.carrinho = carrinho;
	}
	
	public Float getValorTotal(){
		Float valorTotal = (float) 0;
		for(int i = 0 ; i < carrinho.getProdutos().size(); i++){
			valorTotal = carrinho.getProdutos().get(i).getPreco() + valorTotal;
		}
		return valorTotal;
	}
	
	public void finalizarCompra(){
		 try {
			FacesContext.getCurrentInstance().getExternalContext().redirect("PagamentoSvlt");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public void continuarComprando(){
		try {
			HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
			ProdutoController prod = (ProdutoController) session.getAttribute("produtoController");  
			if(prod != null){
				if(prod.getLastTipoProduto() != null && !prod.getLastTipoProduto().equalsIgnoreCase("")){
					FacesContext.getCurrentInstance().getExternalContext().redirect("produtos.jsf?tipoproduto="+prod.getLastTipoProduto());
				}	
			}else{
				//Redirecionar para uma pagina qualquer de produto
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}